package com.oscar.practice.shiro.dao.user;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.oscar.practice.shiro.model.user.UserInfo;

/**
 * 用户管理
 *
 * @author tongyufu
 *
 */
@Repository
public interface UserDao {

    List<UserInfo> search(Map<String, Object> params);

    int searchTotal(Map<String, Object> params);

    UserInfo queryByUsername(String username);

    UserInfo queryById(Integer userId);

    int save(UserInfo userInfo);

    int saveUserRole(@Param("userId") Integer userId, @Param("roleId") Integer roleId);

    int update(UserInfo userInfo);

    /**登录次数 + 1*/
    int updateLoginCount(Integer userId);

    int delete(Integer userId);

    int deleteUserRoleByRoleId(Integer roleId);

    int deleteUserRoleByUserId(Integer userId);

    int updatePassword(UserInfo userInfo);
}
